home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1997 February
/
EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso
/
enigma
/
earcd
/
comm
/
comm2
/
hdrbbs11.lha
/
HBBS
/
Docs
/
Doors.txt
< prev
next >
Wrap
Text File
|
1996-06-25
|
5KB
|
175 lines
UPLOAD START
Ask for drop carrier after upload
Ask for check files as soon as file is uploaded or after they are all uploaded
Ask to double check which conf files are to be placed in for each file
Local Login ?
YES - Display File Requester Multiple times until sysop cancels it
So that files from more than one directory can be selected
Copy files to correct location for processing N_ND->Plapendir or sommat
NO - Select File Transfer protocol using SELECT_PROTOCOL door
call TRANSFER ("WAREZ_FILE", PROTOCOLNUM,IMMEDIATE CHECK,)
Note: "warez_file" keyword tells the transfer that the file is to
go into the filelists for a conference and to call approprate doors
Call FILE_CHECK (ALL) Door
UPLOAD END
TRANSFER START (WAREZ_FILE ?, PROTOCOLNUM, IMMEDIATE_CHECK ?, CONF_CHECK ?)
Call protocol door
E.G.
XU P=xprzmodem.library U=HBBS:Nodes/Node1/Playpen
TRANSFER END
PROTOCOL DOOR (OPTIONS,[U=UPLOAD_PATH... ]/[D=DOWNLOAD FILENAME...])
Uploading ?
get filename of file user wants to upload
check current conference's file paths for file with same name
check playpen for file of same name
file found in a directory ?
skip uploading file
else
transfer file using built-in method
end
else Downloading so..
transfer file using built-in method
end
PROTOCOL DOOR END
FILE_CHECK START (ALL ?,FILE_NAME)
* this door checks and deals with all files that are uploaded into a
filelist
if ALL? then
begin
build list of files in the node's playpen into a linked list
add call the next block of commands until you get to the end
of the list, not forgetting to fill FILE_NAME with name of current
file in the linked list.
end
else call block just once..
begin
call CHECK_CORRUPT (file_name)
if file is corrupt then set "HOLD"
else
begin
call EXTRACT_DIZ (file_name) to extract FILE_ID.DIZ to N_ND->workdir+file_name+".diz"
call MODIFY_DIZ (file_name) for other cool doors to mess about with your nice diz
call ASK_UL (file_name) checks to see if user *really* wanted this file uploaded,
and can also prompt to see if it's supposed to be for the
sysop ONLY
if NOT incorrect and NOT sysop private then
begin
call ASK_CONF if user said [Y]es to option before upload begins
returns confnum that file is to be placed in
call DUPE_CHECK (confnum)
if file is duplicate then set "hold" variable
end
call ADD_DIZ (private ?,hold ?,confnum) to add the description to the filelist.
call ADD_CREDS (filename,confnum) to add credits & time to user's account
(this is cool way of adding creds!, as the door knows which conf the
files goes in you can get the door to say apply creds for sysop
special offers like: all Amiga warez on the weekend get 3x creds!
as the add_creds door can tell if the file goes in the amiga conf
and can easily work out dates and so on...
Also you can do filename matching in the request conf so you can
get the door to send a mail message to the user who requested the file
you've just uploaded!!!
Wow! I even amaze myself with the coolness of this system I've
designed sometimes!)
end (corrupt)
call MOVE_FILE (filename,confnum,hold ?) to move the file to the correct bbs path
if all ok then return OK and the CONFNUM of conference the file was placed in
end
FILE_CHECK END
MAIL_WRITE START (TO)
if (TO) is not specified then ask for name to mail to
check the TO string for validity
You *CAN* have a to string like Hydr*,Sysop,Cruise so you must check the entire
line for valid usernames
You must also check that the user you are writing mail to has access to the
conference you are writing mail in.
note: add support for groups, eg, LSD in the TO string writes the message to all
the members of LSD! :-)
ask for subject
if subject is NOT blank
BEGIN
get message line by line, a blank line should bring up the options.
menu should allow the following (according to access rights)
Attach files
Set Expiry Date
Set AutoDelete after receiver has read it
reciepit notify (after the recipient has read the message, the sender gets
a mail message telling him/her of that)
END
note: add support for Mail Signatures and tag them to the end of a message
note: add support for a spell checker! :-)
MAIL_WRITE END